package org.sgx.gapigui.client.control;

import java.util.List;

import org.sgx.gapi.client.apis.fusiontables.FTTable;
import org.sgx.gapi.client.apis.fusiontables.table.TableListRequest;
import org.sgx.gapi.client.apis.fusiontables.table.TableListResult;
import org.sgx.gapi.client.client.GAPICallback;
import org.sgx.gapigui.client.ui.editableModels.books.Book;
import org.sgx.gapigui.client.ui.editableModels.ft.Table;
import org.sgx.gapigui.client.ui.editableModels.ft.TableCreateCommand;
import org.sgx.gapigui.client.ui.editableModels.urlShortener.Url;
import org.sgx.gapigui.client.ui.editableModels.youtube.Video;

public interface MainController {

	public abstract void addWorkListener(WorkListener l);

//	public abstract void showTablesView();

	public abstract void doTableList(final ControllerCallback<List<Table>> callback);

	public abstract void doTableCreate(TableCreateCommand table);

	void doBookSearch(String keywords, ControllerCallback<List<Book>> callback);

	void urlShortenerGetOriginal(String value, ControllerCallback<Url> callback);
	
	void urlShortenerInsert(String value, ControllerCallback<Url> callback);

	public abstract void doYoutubeSearch(String text, ControllerCallback<List<Video>> callback);

}